/*
 * @Author: C.
 * @Date: 2023-12-08 17:13:45
 */
export function useRouter() {
  function push(opts: UniNamespace.NavigateToOptions) {
    uni.navigateTo(opts)
  }
  function back(opts?: UniNamespace.NavigateBackOptions) {
    uni.navigateBack(opts)
  }
  // 关闭当前页面，跳转到应用内的某个页面
  function redirect(opts: UniNamespace.RedirectToOptions) {
    uni.redirectTo(opts)
  }
  // 关闭所有页面，打开到应用内的某个页面
  function reLaunch(opts: UniNamespace.ReLaunchOptions) {
    uni.reLaunch(opts)
  }
  // 跳转到 tabBar 页面，并关闭其他所有非 tabBar 页面。
  function switchTab(opts: UniNamespace.SwitchTabOptions) {
    uni.switchTab(opts)
  }
  function getRoutes(): Page.PageInstance<AnyObject, any>[] {
    return getCurrentPages()
  }
  return {
    push,
    back,
    redirect,
    reLaunch,
    switchTab,
    getRoutes,
  }
}
